"""
讲师:caoyan
日期：2022/8/26 16:50
"""
import unittest

import requests

from api.login_api import LoginAPI


class  LoginCase(unittest.TestCase):

    def  setUp(self) -> None:
         self.login_api=LoginAPI()
         self.session=requests.Session()

    #case01_用户名和密码正确登录成功
    def  test01_login(self):

         # 接口测试
         resp_verif = self.login_api.verify_code(self.session);
         #获取验证码
         code = resp_verif.json()["data"]
         # 断言是否成功
         self.assertEqual(200,resp_verif.status_code,"你的请求不是200")
         self.assertEqual("获取验证码成功",resp_verif.json()["message"])

         #登录测试
         resp_login = self.login_api.login(self.session,"cy","123",code);

         self.assertEqual(200,resp_login.status_code)
         self.assertEqual("success",resp_login.json()["message"])
         token = resp_login.json()["token"]

     # case02_账号不存在
    def test02_login(self):
        # 接口测试
        resp_verif = self.login_api.verify_code(self.session);
        # 获取验证码
        code = resp_verif.json()["data"]
        # 断言是否成功
        self.assertEqual(200, resp_verif.status_code, "你的请求不是200")
        self.assertEqual("获取验证码成功", resp_verif.json()["message"])

        # 登录测试
        resp_login = self.login_api.login(self.session, "cy12312312", "123", code);

        self.assertEqual(200, resp_login.status_code)
        self.assertEqual("账号不存在", resp_login.json()["message"])
        self.assertEqual(500, resp_login.json()["code"])

     # case03_密码错误
    def test03_login(self):
            # 接口测试
            resp_verif = self.login_api.verify_code(self.session);
            # 获取验证码
            code = resp_verif.json()["data"]
            # 断言是否成功
            self.assertEqual(200, resp_verif.status_code, "你的请求不是200")
            self.assertEqual("获取验证码成功", resp_verif.json()["message"])

            # 登录测试
            resp_login = self.login_api.login(self.session, "cy", "123123123123", code);
            self.assertEqual(200, resp_login.status_code)
            self.assertEqual("密码输入错误请重新登陆", resp_login.json()["message"])
            self.assertEqual(500, resp_login.json()["code"])


    def tearDown(self) -> None:
        self.session.close()

